// pages/mine/mine.js
Page({

	/**
	 * 页面的初始数据
	 */
	data: {
		isLogin: false,
		isRealName: false, // 实名状态
		userInfo: null,
		userDetails:null,
		hiddenPhone: '',
		avatar: '/images/noLogin.png'
	},
	onLogin() {
		console.log("登录")
		wx.navigateTo({
			url: '/pages/login/login'
		})
	},

	/**
	 * 生命周期函数--监听页面加载
	 */
	onLoad(options) {

	},

	/**
	 * 生命周期函数--监听页面初次渲染完成
	 */
	onReady() {

	},

	/**
	 * 生命周期函数--监听页面显示
	 */
	onShow() {
		// 1. 读取登录状态和用户信息
		const isLogin = wx.getStorageSync("isLogin") || false;
		const userInfo = wx.getStorageSync("userInfo") || null;

		// 2. 更新页面数据
		this.setData({
			isLogin,
			userInfo,
		});

		// 3. 如果已登录，发送请求查询用户详细信息
		if (isLogin) {
			this.fetchUserDetails();
		}
	},

	// 查询用户详细信息
	fetchUserDetails() {
		const userInfo = this.data.userInfo; // 从页面数据中获取 userInfo
		const token = userInfo.data.token; // 从 userInfo 中提取 token
		const userId = userInfo.data.id; // 获取用户 id

		console.log("从 userInfo 中读取的 token:", token); // 打印 token，确保其不为空

		wx.request({
			url: `http://localhost:8080/user/user/${userId}`, // 请求地址
			method: "GET", // 请求方法
			header: {
				"Content-Type": "application/json",
				"token": token, // 在请求头中携带 token
			},
			success: (res) => {
				if (res.statusCode === 200) {
					console.log("查询用户信息成功:", res.data);
					// 处理 userDetails
					const userDetails = res.data.data;
					if (userDetails) {
						wx.setStorageSync('userDetails',userDetails); // 使用同步存储
					}
          const phone = userDetails.phone ? userDetails.phone.replace(/\D/g, '') : ''; // 去除非数字字符
          const hiddenPhone = phone.length === 11 
            ? `${phone.substring(0, 3)}****${phone.substring(7)}` 
						: '';
					// 判断是否实名（name 和 idNumber 不为空）
					let isRealName = false;
					if (userDetails.name !== null &&userDetails.name !== '' 
					&& userDetails.idNumber !== null && userDetails.idNumber !== '') {
						isRealName = true;
					}

          // 更新页面数据
          this.setData({
						userDetails,
						isRealName,
            hiddenPhone,
          });
				} else {
					console.error("查询用户信息失败:", res.data);
					wx.showToast({
						title: "获取用户信息失败",
						icon: "none",
					});
				}
			},
			fail: (err) => {
				console.error("请求失败:", err);
				wx.showToast({
					title: "网络错误，请重试",
					icon: "none",
				});
			},
		});
	},
	onEdit(){
		wx.navigateTo({
			url: '/mine/pages/edit/edit',
		})
	},
	// 实名按钮点击事件
onRealNameClick() {
	// 跳转到实名页面，携带 isRealName 变量
  wx.navigateTo({
    url: `/mine/pages/real-name/real-name?isRealName=${this.data.isRealName}`,
  });
},
onSetting(){
	const isLogin = this.data.isLogin;
	if (isLogin) {
		wx.navigateTo({
			url: '/mine/pages/setting/setting',
		})
	}
	wx.navigateTo({
		url: '/pages/login/login',
	})
},
navigateToCollections(){
	if (this.data.isLogin) {
		wx.navigateTo({
			url: '/mine/pages/collection_record/collection_record',
		})
	}
	wx.navigateTo({
		url: '/pages/login/login',
	})
},
navigateToAppointment(){
	if (this.data.isLogin) {
		wx.navigateTo({
			url: '/mine/pages/my_demand/my_demand',
		})
	}
	wx.navigateTo({
		url: '/pages/login/login',
	})
},
navigateToWorks(){
	if (this.data.isLogin) {
		wx.navigateTo({
			url: '/mine/pages/my_work/my_work',
		})
	}
	wx.navigateTo({
		url: '/pages/login/login',
	})
},
navigateToHistory(){
	if (this.data.isLogin) {
		wx.navigateTo({
			url: '/mine/pages/browsing_history/browsing_history',
		})
	}
	wx.navigateTo({
		url: '/pages/login/login',
	})
},

	/**
	 * 生命周期函数--监听页面隐藏
	 */
	onHide() {

	},

	/**
	 * 生命周期函数--监听页面卸载
	 */
	onUnload() {

	},

	/**
	 * 页面相关事件处理函数--监听用户下拉动作
	 */
	onPullDownRefresh() {

	},

	/**
	 * 页面上拉触底事件的处理函数
	 */
	onReachBottom() {

	},

	/**
	 * 用户点击右上角分享
	 */
	onShareAppMessage() {

	}
})